home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / access / secure.zip / BUILD / SECURE.MAK < prev   
Text File  |  1991-11-22  |  5KB  |  203 lines

  1. #********************************************************************#
  2. #**              Microsoft GDK-LIBRARY               **#
  3. #**           Copyright(c) Microsoft Corp., 1987, 1988, 1989,       **#
  4. #**                         1990, 1991           **#
  5. #**                                   **#
  6. #********************************************************************#
  7.  
  8.  
  9. .SUFFIXES:
  10. .SUFFIXES:    .src .dll .def .lnk .map .lib .c .asm
  11.  
  12. # Text for building copyright message in executable
  13. #
  14. COPYRIGHT = Copyright(c) Microsoft Corp., 1987,1988,1989,1990,1991
  15. PRODUCT = SECURE_SAMPLE
  16.  
  17.  
  18. # Where the components live
  19.  
  20. # drive for lanman
  21. #
  22. LANDRIVE = c:
  23.  
  24. # drive for c includes and libs
  25. #
  26. CDRIVE     = c:
  27.  
  28. # drive for build files
  29. #
  30. DRIVE     = c:
  31.  
  32. # lanman source path
  33. #
  34. LANROOT  = \lmptk\netsrc
  35.  
  36. # build dir
  37. #
  38. BUILDBAS = \samples\SECURE\build
  39.  
  40. # SECURE source base
  41. #
  42. SQLbase = \sql
  43. GATEbase = \gdk
  44.  
  45. SRCDIR     = \samples\SECURE\src
  46. INCLBAS     = \include
  47. LANLIB     = $(LANDRIVE)$(LANROOT)\lib
  48. LANINC     = $(LANDRIVE)$(LANROOT)\h
  49. OBJDIR     = $(DRIVE)$(GATEbase)$(BUILDBAS)\OBJ
  50. SLOCATE  = $(DRIVE)$(GATEbase)$(SRCDIR)
  51. BLDDIR     = $(DRIVE)$(GATEbase)$(BUILDBAS)
  52. EXEDIR    = $(DRIVE)$(SQLbase)\BINP
  53.  
  54. # debug switches for cl, link and masm
  55. #
  56. LDEBUG     = /CO
  57. DEBUG     = i
  58. MDEBUG     =
  59.  
  60. INCDIR =  $(DRIVE)$(GATEbase)$(INCLBAS)
  61. MNLIBS    = SECRCBSp.lib GDKp.lib pDBLIB.lib LAN.lib
  62. CBLIBS    = LlibcDLL OS2 GDKp.lib pDBLIB.lib LAN.lib
  63.  
  64. # Definitions for new style linker
  65. #
  66. LINK    = link /SEGMENTS:255 $(LDEBUG)
  67. IMPLIB    = implib
  68.  
  69. # What we call the final result.
  70. #
  71. DLLNAME  = SECRCBSp
  72. GATELIB = $(DRIVE)$(GATEbase)\LIB
  73. GATEDLL = $(DRIVE)$(SQLbase)\DLL
  74.  
  75. # Definitions for C compiler
  76. #   - use Xenix style interface
  77. #   - enable language extensions
  78. #   - pack structures
  79. #   - remove default library info from object files
  80. #   - Maximum warnings
  81. #   - enable 286 code generation
  82. #   - disable stack checking
  83. #   - small code pointers, near data pointers, SS != DS w/ DS autoload
  84. #   - include debugging code
  85. #   - typecheck library calls
  86. #
  87. CC      = cl
  88. M_CFLAGS  = $(COPTION) $(CDEFINE) $(COPTIMIZE) $(CMISC)
  89. CFLAGS      = $(M_CFLAGS) $(CMODEL) $(CSEGMENT)
  90. COPTION   = -Zelp$(DEBUG) -G2
  91. CMODEL      = -Alfu -Lp
  92. CDEFINE   = -DLINT_ARGS -D_MT -D_DLL -DDBMSOS2 -D_RPC
  93. CSEGMENT  =
  94. COPTIMIZE = -Op -Od
  95. CMISC      = -W3
  96.  
  97.  
  98. # Definitions for assembler
  99. #   - preserve case sensitivity
  100. #   - suppress messages for successful assembly
  101. #   - check for impure code
  102. #
  103. ASM    = masm
  104. AFLAGS    = -ML -Mx -t -p $(MDEBUG)
  105. AINC    =
  106.  
  107.  
  108. # Object file for main routine
  109. #
  110. OBJS = \
  111.     $(OBJDIR)\SECURE.obj
  112.  
  113. # Object files for callback DLL
  114. #
  115. OBJCBS = \
  116.     $(OBJDIR)\SECRCBS.obj
  117.     
  118.  
  119. # Header files for SECURE modules.
  120. #
  121. INCDEP = $(INCDIR)\srv.h
  122.  
  123.  
  124. # Build the Dynamic Link Library, forces full build under nmake.
  125. # This is the main dependency.
  126. #
  127. all : SECURE
  128.  
  129.  
  130. # compile/assemble command lines for each source directory.
  131. #
  132. {$(SLOCATE)}.asm{$(OBJDIR)}.obj:
  133.     $(ASM) $(AFLAGS) $(@B).asm, $(OBJDIR)\$(@B).obj;
  134.  
  135. {$(SLOCATE)}.c{$(OBJDIR)}.obj:
  136.     $(CC) $(CFLAGS) -Fo$(OBJDIR)\$(@B).obj -c $(SLOCATE)\$(@B).c
  137.  
  138.  
  139. # include dependencies
  140. #
  141. $(OBJDIR)\*.obj : $(INCDEP)
  142.  
  143.  
  144. # Build the component object files
  145. #
  146. src :    $(OBJS) $(OBJCBS)
  147.  
  148.  
  149. # Build the SECURE callback DLL
  150. #
  151. $(DLLNAME).def : 
  152.     @echo Building $@...
  153.     @echo LIBRARY $(DLLNAME) INITINSTANCE        >  $@
  154.     @echo DESCRIPTION '$(PRODUCT) $(COPYRIGHT)'    >> $@
  155.     @echo HEAPSIZE     65536                >> $@
  156.     @echo PROTMODE                    >> $@
  157.     @echo CODE LOADONCALL EXECUTEREAD NONCONFORMING >> $@
  158.     @echo DATA PRELOAD READWRITE MULTIPLE NONSHARED >> $@
  159.     @echo SEGMENTS                    >> $@
  160.     @echo    _TEXT                    >> $@
  161.     @echo    SECRCBS                 >> $@
  162.     @echo EXPORTS                    >> $@
  163.     @echo    _init_server            @1    >> $@
  164.     @echo    _set_remote_server_name        @2    >> $@
  165.     @echo    _chk_err            @3    >> $@
  166.     @echo    _set_security_options        @4    >> $@
  167.  
  168. # Additional export statements go here.
  169.  
  170.  
  171. # Build linker response file.
  172. #
  173. $(DLLNAME).lnk: 
  174.     @echo Building $@...
  175.     @echo This line makes sure $@ file exists        > $@
  176.     @del $@
  177.     @for %%i in ($(OBJDIR)\SECRCBS*.obj) do echo %%i + >> $@
  178.     @echo.                           >> $@
  179.     @echo $(GATEDLL)\$(DLLNAME).dll               >> $@
  180.     @echo.                           >> $@
  181.     @echo /NOI /NOD $(CBLIBS)               >> $@
  182.     @echo $(DLLNAME).def                   >> $@
  183.  
  184. # Build import lib
  185. #
  186. $(GATELIB)\$(DLLNAME).lib: $(DLLNAME).def
  187.     $(IMPLIB) $(GATELIB)\$(DLLNAME).lib $(DLLNAME).def
  188.     @echo $(DLLNAME).lib built
  189.  
  190. # build DLL and all componets for it
  191. #
  192. $(GATEDLL)\$(DLLNAME).dll: $(DLLNAME).lnk $(OBJCBS)
  193.     $(LINK) @$(DLLNAME).lnk
  194.     @echo $(GATEDLL)\$(DLLNAME).dll built.
  195.  
  196.  
  197. # Build the SECURE callback DLLs and executable
  198. #
  199. SECURE:  $(GATELIB)\$(DLLNAME).lib src $(GATEDLL)\$(DLLNAME).dll
  200.     $(CC) $(CFLAGS) -Fm $(OBJDIR)\$(@B).obj -Fe$(EXEDIR)\$(@B).exe $(MNLIBS)
  201.     exehdr /PMTYPE:WINDOWCOMPAT $(EXEDIR)\$(@B).exe
  202. 
  203.